package main

import (
	"fmt"
)

/*
如果中断了iota，iota的计数不会中断，那么显式恢复后为计数的值
自增的类型为init
iota简化const的定义
每个const里面的iota从0开始
*/
func main() {
	// iota ,特殊常量，常量计数器，在定义多个常量的时候可以简化
	const (
		ERROR1 = iota // iota从0开始，自动递增加1
		ERROR2        // 这里等于1
		ERROR3        // 这里等于2
	)
	fmt.Println(ERROR1, ERROR2, ERROR3)

	const (
		ERROR4 = iota
		ERROR5
		ERROR6 = "abc"
		ERROR7
		ERROR8 = iota //虽然前面6被定义为字符串，7也继承6了，但是iota还是在内部计数，所以为4
	)
	fmt.Println(ERROR4, ERROR5, ERROR6, ERROR7, ERROR8)

	// 给iota计数器加上初始值
	const (
		ERROR9 = iota + 4
		ERROR10
	)
	fmt.Println(ERROR9, ERROR10)
}
